import { IMessageBase } from "../../Framework/MQ/IMessageBase";
import { MessageManager } from "../../Framework/MQ/MessageManager";
import { SerializeStream } from "../../Framework/Serialize/SerializeStream";
import { SeqSpecialActiveCondAndRewardHelper } from "./SeqSpecialActiveCondAndRewardHelper";
type int = number;
//class SSpecialActiveInfo
    
    export  class SSpecialActiveInfo extends IMessageBase
    {
        constructor(arg1: Boolean=false)
        {
            
            super();if (arg1) 
            {
                MessageManager.instance().regist(this);
            }
            return;
        }

        public /* override */ getType(): int
        {
            return this._type;
        }

        public /* override */ clone(): IMessageBase
        {
            return new SSpecialActiveInfo();
        }

        public /* override */ __write(arg1: SerializeStream): void
        {
            arg1.writeInt(this.code);
            arg1.writeInt(this.type);
            arg1.writeDate(this.startDt);
            arg1.writeDate(this.endDt);
            arg1.writeDate(this.getStartDt);
            arg1.writeDate(this.getEndDt);
            arg1.writeString(this.title);
            arg1.writeString(this.context);
            SeqSpecialActiveCondAndRewardHelper.write(arg1, this.seqCondAndReward);
            arg1.writeInt(this.flag);
            arg1.writeString(this.condDesc);
            return;
        }

        public /* override */ __read(arg1: SerializeStream): void
        {
            this.code = arg1.readInt();
            this.type = arg1.readInt();
            this.startDt = arg1.readDate();
            this.endDt = arg1.readDate();
            this.getStartDt = arg1.readDate();
            this.getEndDt = arg1.readDate();
            this.title = arg1.readString();
            this.context = arg1.readString();
            this.seqCondAndReward = SeqSpecialActiveCondAndRewardHelper.read(arg1);
            this.flag = arg1.readInt();
            this.condDesc = arg1.readString();
            return;
        }

        public /* const */_type: int=20502;

        public /* var */code: int;

        public /* var */type: int;

        public /* var */startDt: Date;

        public /* var */endDt: Date;

        public /* var */getStartDt: Date;

        public /* var */getEndDt: Date;

        public /* var */title: string;

        public /* var */context: string;

        public /* var */seqCondAndReward: Array<any>;

        public /* var */flag: int;

        public /* var */condDesc: string;

        public static /* var */_regist: SSpecialActiveInfo;
    }

            SSpecialActiveInfo._regist = new SSpecialActiveInfo(true);
        